package com.hserver.docker.service;

import com.hserver.docker.bean.Deploy;
import top.hserver.core.interfaces.HttpRequest;

import java.util.List;

/**
 * @author yiChenLove
 */
public interface DeployService {

    /**
     * 更新部署的容器ID
     *
     * @param uuid
     * @param containerId
     */
    void updateContainerId(String uuid, String containerId);

    /**
     * 查询一个
     *
     * @param uuid
     * @return
     */
    Deploy getDeploy(String uuid);

    /**
     * 克隆项目
     *
     * @return
     */
    List<Deploy> getList();

    /**
     * 克隆项目
     *
     * @return
     */
    List<Deploy> getProjectList(String name);
    /**
     * 插入
     *
     * @param deploy
     */
    void insert(Deploy deploy);

    /**
     * 更新
     *
     * @param deploy
     */
    void update(Deploy deploy);

    /**
     * 删除一个
     *
     * @param uuid
     */
    void del(String uuid);


    /**
     * 检查是否需要进行部署
     * @param request
     * @param uuid
     * @return
     */
    boolean checkSource(HttpRequest request, String uuid);

}
